In virtual desktop infrastructures (VDIs), desktop operating systems, hosted on virtual machines (VMs) running on centralized servers, are delivered as a managed service to end users via a network. Such centralized and automated management of the virtualized operating system, applications, and user data provides increased control and cost savings.
It is not uncommon for system and network configuration changes to be made, and domain membership established, before virtual desktops are assigned to end users, who then access the virtual desktops like any other computer. The following configuration changes may be made to each virtual desktop during customization: hostname changes and network configuration, domain membership configuration, system profile configuration, user profile configuration, etc. Typically, virtual desktop customization requires multiple VM reboots and live customizations. For example, creating domain membership may require a reboot to make the changes take effect, and another reboot may be required after a customization script which customizes operating system settings, profile redirection, registry settings, drive letter settings, etc. is executed so that a reference snapshot, to which the desktop may later be reverted, can be taken.
In large-scale virtual desktop deployments, the customization of VMs according to traditional techniques can be very time consuming. For example, deployment of a single desktop, from first power-on until the creation of the reference snapshot, can take 3 to 10minutes of time. In such a case, 12 to 15 hours may be required to deploy 1000 desktops. Aside from the time requirement, large-scale deployments can also have one or more of the following disadvantages: due to the reboots required for each VM, a boot storm can result; there can be large network traffic between the domain controller and the VMs; the domain controller must be available at the time of desktop customization, as network connectivity problems and unavailability of necessary servers can cause the entire pool of desktops to be in an error state; and, there can be a lack of security since the domain controller's credentials are shared with all clone VMs.